package com.yunnuo.system.dept.service;

import com.yunnuo.system.comm.service.IBaseService;
import com.yunnuo.system.dept.entity.Dept;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * Created by w_weihf on 2018/8/3.
 */
@Service
public interface IDeptService  extends IBaseService<Dept> {

    /**
     * 根据部门id查询是否拥有下级部门
     * @param id
     * @return
     */
    int selectDeptCount(String id);

    /**
     * 根据部门id查询是否拥有部门内人员
     * @param id
     * @return
     */
    int  checkDeptExistUser(String id);

    /**
     * 查询全部部门，加载部门树
     * @return
     */
      List<Map<String, Object>> selectDeptTree();


    int checkDeptNameUnique(Dept dept);

    /**
     * 保存部门信息
     * @param dept
     */
    void save(Dept dept);

    /**
     * 根据deptID  查询该部门所有下属部门
     * 返回类型  部门id
     * @param deptId
     * @return
     */
    List<String>  selectSubordinateDept(String deptId);
}
